package pmtarefa2.dominio;

import java.text.ParseException;
import java.util.Date;
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.util.GregorianCalendar;

/**
 *
 * @author Thiago AC
 */
public class Pessoa {

    private String Nome;
    private char sexo;
    private double salario;
    private int mesNasc;
    private int diaNasc;
    private int anoNasc;

    public Pessoa (String nome, char sexo, int dNasc, int mNasc, int anoNasc,
            double salario){
        Nome = nome;
        this.sexo = sexo;
        this.diaNasc = dNasc;
        this.mesNasc = mNasc;
        this.anoNasc = anoNasc;
        this.salario = salario;
    }


    /**
     * @return the Nome
     */
    public String getNome() {
        return Nome;
    }

    /**
     * @param Nome the Nome to set
     */
    public void setNome(String Nome) {
        this.Nome = Nome;
    }

    /**
     * @return the sexo
     */
    public char getSexo() {
        return sexo;
    }

    /**
     * @param sexo the sexo to set
     */
    public void setSexo(char sexo) {
        this.sexo = sexo;
    }

    /**
     * @return the salario
     */
    public double getSalario() {
        return salario;
    }   


    /**
     * @param salario the salario to set
     */
    public void setSalario(double salario) {
        this.salario = salario;
    }

    /**
     * @return the mesNasc
     */
    public int getMesNasc() {
        return mesNasc;
    }

    /**
     * @param mesNasc the mesNasc to set
     */
    public void setMesNasc(int mesNasc) {
        this.mesNasc = mesNasc;
    }

    /**
     * @return the diaNasc
     */
    public int getDiaNasc() {
        return diaNasc;
    }

    /**
     * @param diaNasc the diaNasc to set
     */
    public void setDiaNasc(int diaNasc) {
        this.diaNasc = diaNasc;
    }

    /**
     * @return the anoNasc
     */
    public int getAnoNasc() {
        return anoNasc;
    }

    /**
     * @param anoNasc the anoNasc to set
     */
    public void setAnoNasc(int anoNasc) {
        this.anoNasc = anoNasc;
    }

        public int idade (Pessoa p) throws ParseException{
        String dataNasc = Integer.toString(p.getDiaNasc())+"/"+
                Integer.toString(p.getMesNasc())+"/"+
                Integer.toString(p.getAnoNasc());
        SimpleDateFormat formaData = new SimpleDateFormat("dd/MM/yyyy");
            Date dataN = formaData.parse(dataNasc);


        Calendar dateOfBirth = new GregorianCalendar();
			 dateOfBirth.setTime(dataN);

			 // Cria um objeto calendar com a data atual
			 Calendar today = Calendar.getInstance();

			 // Obtém a idade baseado no ano
			 int idade = today.get(Calendar.YEAR) - dateOfBirth.get(Calendar.YEAR);

			 dateOfBirth.add(Calendar.YEAR, idade);

			 //se a data de hoje é antes da data de Nascimento, então diminui 1(um)
			 if (today.before(dateOfBirth)) {
				 idade--;
			 }
			 return idade;

    }

}
